package com.tim.javaApi;

import java.io.IOException;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;

/**
 * @author
 * @Title:
 * @Package
 * @date 2023/7/6 15:37
 * @Description:
 */
public class JdkUtil {
    /**
     *
     */
    public static void common(){
        Math math;//数学方法
        Random random;//随机
        System system;//系统
        Runtime runtime;//运行时环境
    }

    /**
     *
     */
    public static void math(){
        // 绝对值
        System.out.println(Math.abs(-1));
        // 正向向上取整
        System.out.println(Math.ceil(-1.1));
        // 正向向下取整
        System.out.println(Math.floor(-1.1));
        // 四舍五入；
        System.out.println(Math.round(1.5));
        System.out.println(Math.round(2.5));
        // 随机数
        System.out.println(Math.random());
        // 幂运算
        System.out.println(Math.pow(2, 3));
        System.out.println(Math.sqrt(4));// 平方根
        System.out.println(Math.cbrt(8));// 立方根
        // 严格运算，溢出时抛异常
        System.out.println(Math.addExact(Integer.MAX_VALUE, Integer.MAX_VALUE));
        System.out.println(Math.subtractExact(Integer.MIN_VALUE, Integer.MAX_VALUE));
    }

    /**
     *
     */
    public static void random(){
        Random r = new Random();
        // 随机数
        r.nextInt();
        // 随机数组
        List<Integer> list = r.ints(20, 1, 100)
                .boxed()
                .collect(Collectors.toList());
    }

    /**
     *
     */
    public static void system(){
        System.getProperties();// jdk属性
        System.getenv();// OS环境变量
    }

    /**
     *
     */
    public static void runtime() throws IOException {
        Runtime runtime = Runtime.getRuntime();
        // 注册关闭时回调
        runtime.addShutdownHook(new Thread(()->System.out.println("关闭时回调")));
        // 执行指令
        Process exec = runtime.exec("");
        // 获取系统数据
        runtime.availableProcessors();
        runtime.maxMemory();

    }

    public static void main(String[] args) {
        math();
    }

}
